package lib

func init() {
	Probs = append(Probs, Problem{
		Num:         339,
		Discription: "4的幂",
		Level:       1,
		Labels: map[string]int{
			"位运算": 1,
			"数学": 1,
		},
	})
}


func IsPowerOfFour(n int) bool {
	//n&(n-1) == 0：保证为2的幂
	//对于4的幂，（1+3）^x二项式展开，只有一项为1，其余都是3的倍数，所以除3必余1（充分性）
	//对于不是4的幂，但满足是2的幂，可以写成2*4^x，看成4^x+4^x，除3必余2（必要性）
	return n > 0 && n&(n-1) == 0 && n%3 == 1
}
